1. Field of the Invention
The present invention relates generally to communications over packet networks. More particularly, the present invention relates to transferring compressed data over a packet network, such as the Internet, utilizing the Internet Protocol (“IP”).
2. Related Art
In recent years, packet-based networks, such as the Internet, have begun to replace the traditional analog telephone networks for transportation of voice and data. For example, with the emergence of voice over IP (“VoIP”), telephone conversations may now be captured, packetized and transported over the Internet. In a conventional VoIP system, telephone conversations or analog voice may be transported over the local loop or the public switch telephone network (“PSTN”) to the central office (“CO”). From the CO, the analog voice is transported to a gateway device at the edge of the packet-based network. The gateway device converts the analog voice or speech to packetized data using a codec (coder/decoder), according to one of various existing protocols, such as G.729, G.711, G.723.1, etc. Next, the packetized data is transmitted over the Internet using the Internet Protocol for reception by a remote gateway device and conversion back to analog voice.
Today, many have diverted their focus to using the existing packet-based network and gateway devices, which have been designed to support the transportation of analog voice or speech over IP, to further support modem communication over IP, or as it is referred to in the industry, Modem over Internet Protocol (“MoIP”). FIG. 1 illustrates a block diagram of a conventional communication model for MoIP based on a packet-based network, such as the Internet. As shown, communication model 100 includes first client communication device 110 in communication with first gateway communication device 120 over PSTN providing transmit and receive channels 112 and 114. Communication model 100 further includes second client communication device 150 in communication with second gateway communication device 140 over PSTN providing transmit and receive channels 144 and 142. Communication model 100 enables communications between first gateway communication device 120 and second gateway communication device 140 via a packet network 130 utilizing the Internet Protocol. The Internet Protocol implements the network layer (layer 3) of a network protocol, which contains a network address and is used to route a message to a different network or subnetwork. The Internet Protocol further accepts packets from the layer 4 transport protocol, such as Transmission Control Protocol (“TCP”) or User Data Protocol (“UDP”), and adds its own header and delivers the data to the layer 2 data link protocol. TCP provides transport functions, which ensures that the total amount of bytes sent is received correctly at the other end. UDP, which is part of the TCP/IP suite, is an alternate transport that does not guarantee delivery. It is widely used for real-time voice and video transmissions where erroneous packets are not retransmitted.
For purposes of MoIP, communication devices 110, 120, 140 and 150 are capable of performing modem functions. The term modem stands for modulator-demodulator (i.e. digital-to-analog/analog-to-digital converter). Modem is a device that is capable of adapting a terminal or computer to an analog telephone line by converting digital pulses to audio frequencies and vice versa. Modems may support a variety of data modulation standards, such as ITU (International Telecommunications Union) standards: V.22bis, V.34, V.90 or V.92, etc. Communication devices 110, 120, 140 and 150 may also be cable or DSL modems, which are all digital and technically not modems, but referred to as modems in the industry. Typically, modems have built-in error correction, such as MNP2-4 or LAPM (or V.42) and data compression, such as MNP5, V.42bis or V.44. Modems are also capable of supporting various voice and facsimile standards.
Conventionally, the communication process for MoIP begins when first client modem ((“M1”) or first client communication device 110) calls first gateway modem ((“G1”) or first gateway communication device 120). As a result, G1 calls second gateway modem ((“G2”) or second gateway communication device 140), and G2 in turn calls second client modem ((“M2”) or second client communication device 150). In order to support VoIP in their default mode of operation, typically, G1 and G2 communicate in voice mode and are configured to use a compressed voice protocol, such as the ITU standard G.723.1. However, when M2 answers the incoming call from G2, M2 generates an answer tone, e.g. 2100 Hz, that causes G1 and G2 to switch to an uncompressed voice protocol, such as an ITU standard G.711, which provides toll quality audio at 64 Kbps using either A-Law or mu-Law pulse code modulation methods. This uncompressed digital format is used in order to allow easy connections to legacy telephone networks. By switching to G.711, the tones generated by M2 may propagate through G1 and G2 in a more intact manner in order to reach M1 at the other side.
One existing method provides for maintaining G1 and G2 in G.711 or modem pass through mode, such that M1 and M2 are able to handshake over packet network 130 and transfer data using G.711 packets using the Internet Protocol. However, such solution suffers from many problems, such as packet loss, jitter and delay, which cannot be tolerated by high-speed modems. To overcome such problems, modem connections are terminated locally such that M1 and G1 handshake and make a connection locally and, similarly, M2 and G2 handshake and make a connection locally.
As discussed above, today, most modems are capable of compressing/decompressing data to increase the effective data throughput. Conventional compression techniques used by modems include MNP5 (Microcom Networking Protocol 5) and ITU standards V.42bis or V.44. After M1 and G1 modems establish a connection, M1 compresses, packetizes and transmits data to G1 on line 112 and G1 receives, depacketizes and decompresses the data prior to packetizing the data for transmission over packet network 130. Similarly, after M2 and G2 modems establish a connection, M2 compresses, packetizes and transmits data to G2 on line 144 and G1 receives, depacketizes and decompresses the data prior to packetizing the data for transmission over packet network 130. As a result, uncompressed data will be transported over packet network 130. However, it is, of course, highly desirable to transport compressed data over packet network 130 to increase the effective data rate and, to this end, various proposals have been set forward.
For example, one proposal recommends re-compression of the data by a gateway modem, e.g. G1, prior to transmission of the data over packet network 130 and, naturally, decompression of such data received by G2 over packet network 130. However, this proposal places an undesirable processing burden on gateway modems G1 and G2, since each gateway modem must (1) decompress data received from its local client modem, (2) re-compress such data prior to transmission over the IP, (3) decompress data received from the other gateway modem, and (4) re-compress such data prior to transmission to is local client modem. Further, each gateway modem must provide additional memory to accommodate the additional compression and decompression tasks.
As a further example, another proposal recommends a synchronization of the two locally terminated connections, i.e. M1/G1 connection and M2/G2 connection, such that the two connection occur simultaneously, so M1 and M2 may negotiate error correction and compression end-to end. Thus, G1 and G2 would not have to perform modem error correction and compression tasks. However, this recommendation also suffers from many problems. For example, due to various handshaking delays and many different data modulations and speeds that are supported by modems, it is extremely difficult to synchronize the two locally terminated connections, such that the two connections can occur simultaneously. As a result, on many occasions, M1 and M2 would fail to establish an error correction/compression link due the connections not being properly synchronized.
Accordingly, there is an intense need in the art for MoIP systems and methods of transporting compressed data over packet networks, which are practical to implement, cost-effective and can reduce undue burden on gateway modems in terms of processing power and memory.